#ifndef RTTHREADPROXYMANAGER_H
#define RTTHREADPROXYMANAGER_H

#include "RtThreadManager.h"
#include "RtThreadInterface.h"

class /*RT_API_EXPORT*/ CRtThreadProxyBase
{
public:
	explicit CRtThreadProxyBase(CRtThreadManager::TType aType);
	explicit CRtThreadProxyBase(CRtThread *aThread);
	~CRtThreadProxyBase();

	RtResult PostEvent_i(IRtEvent* aEvent);
	RtResult SendEvent_i(IRtEvent* aEvent);

protected:
	IRtEventQueue *m_pEventQueue;
};

class /*RT_API_EXPORT*/ CRtThreadProxyManager  
{
public:
	~CRtThreadProxyManager();

	CRtThreadProxyManager* Instance();

private:
	CRtThreadProxyManager();
};

#endif // !RTTHREADPROXYMANAGER_H
